﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace YiTian.Core.Modularity
{
    public interface IModule 
    {
        /// <summary>
        /// 配置服务（在模块初始化前执行，用于注册依赖注入服务）
        /// </summary>
        /// <param name="context">服务配置上下文</param>
        void ConfigureServices(ModuleConfigurationContext context);

        /// <summary>
        /// 模块初始化（应用启动时执行）
        /// </summary>
        void Initialize(ModuleInitializationContext context);

        /// <summary>
        /// 模块销毁（应用关闭时执行）
        /// </summary>
        void Shutdown();
    }
}
